package com.zzw.springboot.common;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author zzw2000
 * @Date 2022年05月15日 23:32
 * @Description 业务错误封装类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ErrorResult {
    private String errorCode; //状态码
    private String errorMsg; //错误信息

    /**
     * 登录错误
     *
     * @return
     */
    public static ErrorResult loginError() {
        return ErrorResult.builder().errorCode(Constants.CODE_600).errorMsg("用户名或密码错误").build();
    }

    /**
     * 服务器异常
     *
     * @return
     */
    public static ErrorResult serverError() {
        return ErrorResult.builder().errorCode(Constants.CODE_500).errorMsg("服务器异常").build();
    }

    /**
     * 请求参数错误
     *
     * @return
     */
    public static ErrorResult paramsError() {
        return ErrorResult.builder().errorCode(Constants.CODE_400).errorMsg("请求参数错误").build();
    }

    /**
     * 用户名已被占用
     *
     * @return
     */
    public static ErrorResult repeatRegister() {
        return ErrorResult.builder().errorCode(Constants.CODE_601).errorMsg("用户名已被占用").build();
    }

    public static ErrorResult repeatRegister(String param) {
        return ErrorResult.builder().errorCode(Constants.CODE_601).errorMsg("用户名【" + param + "】已被占用，请重试！").build();
    }

    /**
     * 用户未找到
     *
     * @return
     */
    public static ErrorResult notFoundUser() {
        return ErrorResult.builder().errorCode(Constants.CODE_602).errorMsg("用户未找到").build();
    }

    /**
     * 权限不足
     *
     * @return
     */
    public static ErrorResult unauthorized() {
        return ErrorResult.builder().errorCode(Constants.CODE_401).errorMsg("请登录后尝试").build();
    }

    /**
     * 密码错误
     * @return
     */
    public static ErrorResult errorPwd(){
        return ErrorResult.builder().errorCode(Constants.CODE_600).errorMsg("密码错误").build();
    }
}
